<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>UCARPP: includes/remove.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">UCARPP
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('remove_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">includes/remove.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="vehicleState_8h_source.html">vehicleState.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tabooList_8h_source.html">tabooList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="gMatrix_8h_source.html">gMatrix.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="los_8h_source.html">los.h</a>&quot;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for remove.h:</div>
<div class="dyncontent">
<div class="center"><img src="remove_8h__incl.png" border="0" usemap="#includes_2remove_8h" alt=""/></div>
<map name="includes_2remove_8h" id="includes_2remove_8h">
<area shape="rect" id="node3" href="vehicleState_8h.html" title="vehicleState.h" alt="" coords="193,315,297,344"/><area shape="rect" id="node25" href="tabooList_8h.html" title="tabooList.h" alt="" coords="559,315,645,344"/><area shape="rect" id="node31" href="gMatrix_8h.html" title="gMatrix.h" alt="" coords="94,315,169,344"/><area shape="rect" id="node35" href="los_8h.html" title="los.h" alt="" coords="527,83,578,112"/><area shape="rect" id="node5" href="vehiclePath_8h.html" title="vehiclePath.h" alt="" coords="270,392,371,421"/><area shape="rect" id="node19" href="edgeGraph_8h.html" title="edgeGraph.h" alt="" coords="33,547,129,576"/><area shape="rect" id="node9" href="edgeSol_8h.html" title="edgeSol.h" alt="" coords="451,469,531,499"/><area shape="rect" id="node13" href="edgeID_8h.html" title="edgeID.h" alt="" coords="406,547,481,576"/><area shape="rect" id="node27" href="tabooExpire_8h.html" title="tabooExpire.h" alt="" coords="606,469,707,499"/><area shape="rect" id="node38" href="graph_8h.html" title="graph.h" alt="" coords="262,469,326,499"/><area shape="rect" id="node45" href="solution_8h.html" title="solution.h" alt="" coords="381,160,458,189"/><area shape="rect" id="node58" href="tabooState_8h.html" title="tabooState.h" alt="" coords="557,237,653,267"/><area shape="rect" id="node61" href="ALGConfiguration_8h.html" title="ALGConfiguration.h" alt="" coords="622,392,758,421"/><area shape="rect" id="node50" href="operations_8h.html" title="operations.h" alt="" coords="373,237,466,267"/></map>
</div>
</div>
<p><a href="remove_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#ae022de45f375add9b724a9ddad60c53a">REMOVE_ADDTENURE</a>&#160;&#160;&#160;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#a8f164f58436f8b04ad796db7015a8554">REMOVE_REMTENURE</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#af274d09af9439cc47fb1f6630d1b80fc">EVAL_REMOVE_PROFITABLES</a>&#160;&#160;&#160;<a class="el" href="graph_8h.html#a34c30761ce06236f388cf2d662cbdf71">EVAL_SMART</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#a1bed6646429a110781431e6ce755a0a4">EVAL_REMOVE_NON_PROFITABLES</a>&#160;&#160;&#160;<a class="el" href="graph_8h.html#a4f7d88186b9ead6ef5738717322647e8">EVAL_PURE</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#a431fd96e7748f85c98f7171e338d1f72">solveRemoveNeighbourhood</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> p_graph, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> p_state, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> p_gMat, int k, <a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a> p_tabooList, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> now, <a class="el" href="los_8h.html#afecb04de172c596cdc7b8b7a86c687d7">pLOSConfiguration</a> pLOSconfig, bool notWorseningMoves)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#ad27a8e350ea08a7910d5c5f97d363402">makeRemoveMove</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> p_graph, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> p_state, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> p_gMat, int k, <a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a> p_tabooList, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> now, <a class="el" href="los_8h.html#a845149128ecdc5563a7a798c5781dc0c">PbestAddRemoveChoice</a> p_best, int addTenure, int removeTenure)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#a7244ed733b7f4e46a70db5529ec3ac3e">updateBestRemoveChoice</a> (<a class="el" href="los_8h.html#a845149128ecdc5563a7a798c5781dc0c">PbestAddRemoveChoice</a> p_bestchoice, <a class="el" href="structEdgeID.html">EdgeID</a> e_il, <a class="el" href="structEdgeID.html">EdgeID</a> e_jl, <a class="el" href="structEdgeID.html">EdgeID</a> e_ij, <a class="el" href="graph_8h.html#ad8909b856fa70c7731c787994276fb03">Weight</a> score)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="graph_8h.html#ad8909b856fa70c7731c787994276fb03">Weight</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#a812a442098ffce31a5518dea6e9bd616">analyzeTriangleEdgeRemoveCandidate</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> p_graph, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> pid_ij, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> pid_il, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> pid_jl, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> p_state, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> p_gMat, int k, <a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a> p_tabooList, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> now, int times_il, int times_jl, int evaluateMode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remove_8h.html#aaca545df59393b55f4dad51c9b8ddeca">isTQOKTriangleRemove</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> graph, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> state, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> p_gMat, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toadd, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toremove1, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toremove2, int k)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a1bed6646429a110781431e6ce755a0a4"></a><!-- doxytag: member="remove.h::EVAL_REMOVE_NON_PROFITABLES" ref="a1bed6646429a110781431e6ce755a0a4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="remove_8h.html#a1bed6646429a110781431e6ce755a0a4">EVAL_REMOVE_NON_PROFITABLES</a>&#160;&#160;&#160;<a class="el" href="graph_8h.html#a4f7d88186b9ead6ef5738717322647e8">EVAL_PURE</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>ridefinire questo tra PURE, WISE per cambiare la logica di REMOVE verso gli archi non profittabili. </p>

</div>
</div>
<a class="anchor" id="af274d09af9439cc47fb1f6630d1b80fc"></a><!-- doxytag: member="remove.h::EVAL_REMOVE_PROFITABLES" ref="af274d09af9439cc47fb1f6630d1b80fc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="remove_8h.html#af274d09af9439cc47fb1f6630d1b80fc">EVAL_REMOVE_PROFITABLES</a>&#160;&#160;&#160;<a class="el" href="graph_8h.html#a34c30761ce06236f388cf2d662cbdf71">EVAL_SMART</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>ridefinire questo tra PURE, SMART, WISE per cambiare la logica di REMOVE. </p>

</div>
</div>
<a class="anchor" id="ae022de45f375add9b724a9ddad60c53a"></a><!-- doxytag: member="remove.h::REMOVE_ADDTENURE" ref="ae022de45f375add9b724a9ddad60c53a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="remove_8h.html#ae022de45f375add9b724a9ddad60c53a">REMOVE_ADDTENURE</a>&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Numero di iterazioni di tenure per gli archi aggiunti nella mossa REMOVE triangolante. </p>

</div>
</div>
<a class="anchor" id="a8f164f58436f8b04ad796db7015a8554"></a><!-- doxytag: member="remove.h::REMOVE_REMTENURE" ref="a8f164f58436f8b04ad796db7015a8554" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="remove_8h.html#a8f164f58436f8b04ad796db7015a8554">REMOVE_REMTENURE</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Numero di iterazioni di tenure per gli archi rimossi nella mossa REMOVE triangolante. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a812a442098ffce31a5518dea6e9bd616"></a><!-- doxytag: member="remove.h::analyzeTriangleEdgeRemoveCandidate" ref="a812a442098ffce31a5518dea6e9bd616" args="(Pgraph p_graph, PedgeID pid_ij, PedgeID pid_il, PedgeID pid_jl, PvehicleState p_state, PGMatrix p_gMat, int k, PtabooList p_tabooList, TabooExpire now, int times_il, int times_jl, int evaluateMode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="graph_8h.html#ad8909b856fa70c7731c787994276fb03">Weight</a> <a class="el" href="remove_8h.html#a812a442098ffce31a5518dea6e9bd616">analyzeTriangleEdgeRemoveCandidate</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>p_graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>pid_ij</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>pid_il</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>pid_jl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>p_state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>p_gMat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a>&#160;</td>
          <td class="paramname"><em>p_tabooList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>now</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>times_il</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>times_jl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>evaluateMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>analizza gli effetti sull'improvement di un possibile candidato di tipo arco triangolante (se feasible) cosa deve assicurarsi? </p>
<ul>
<li>l'arco non sia percorso </li>
<li>aggiungendolo si resti TQOK </li>
<li>la modifica sia concessa dalla TL o dai criteri <dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">p_edge</td><td>arco 'perno' del triangolo. </td></tr>
    <tr><td class="paramname">p_sx</td><td>parte 'sinistra' della triangolazione </td></tr>
    <tr><td class="paramname">p_dx</td><td>parte 'destra' della triangolazione. </td></tr>
    <tr><td class="paramname">times_il</td><td>numero di percorrenze del percorso del veicolo k-esimo, per l'arco il </td></tr>
    <tr><td class="paramname">times_jl</td><td>numero di percorrenze del percorso del veicolo k-esimo, per l'arco jl </td></tr>
    <tr><td class="paramname">evaluateMoves</td><td>flag di selezione tra i criteri di valutazione (sostituisce vecchio sistema di macros) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 sse il candidato non è ammissibile (taboo, non TQok) </dd></dl>
</li>
</ul>

</div>
</div>
<a class="anchor" id="aaca545df59393b55f4dad51c9b8ddeca"></a><!-- doxytag: member="remove.h::isTQOKTriangleRemove" ref="aaca545df59393b55f4dad51c9b8ddeca" args="(Pgraph graph, PvehicleState state, PGMatrix p_gMat, PedgeID toadd, PedgeID toremove1, PedgeID toremove2, int k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="remove_8h.html#aaca545df59393b55f4dad51c9b8ddeca">isTQOKTriangleRemove</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>p_gMat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toadd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toremove1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toremove2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>controlla se una mossa di tipo REMOVE modalita' triangolante è accettabie secondo i criteri T e Q del grafo. contrariamente a quanto detto velocemente in fase di progettazione infatti, anche i remove possono non essere TQOK, se l'arco triangolante inserito ha richieste che non possono esser più soddisfatte in termini di Q (difatti T è sempre feasible, per la disuguaglianza triangolare)</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">graph</td><td>indica il grafo su cui deve essere applicata la mossa REMOVE </td></tr>
    <tr><td class="paramname">state</td><td>indica lo stato del veicolo su cui aplicare la mossa REMOVE </td></tr>
    <tr><td class="paramname">toadd1</td><td>indica l'arco e_ij da aggiungere al percorso </td></tr>
    <tr><td class="paramname">toremove1</td><td>indica l'arco e_il da rimuovere al percorso </td></tr>
    <tr><td class="paramname">toremove2</td><td>indica l'arco e_jl da rimuovere al percorso </td></tr>
    <tr><td class="paramname">pgm</td><td>un riferimento alla matrice ove controllare la raccoglibilità dell'edge: se non è possibile, è incorretto considerarla. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true sse la mossa triangolante è TQOK. </dd></dl>

</div>
</div>
<a class="anchor" id="ad27a8e350ea08a7910d5c5f97d363402"></a><!-- doxytag: member="remove.h::makeRemoveMove" ref="ad27a8e350ea08a7910d5c5f97d363402" args="(Pgraph p_graph, PvehicleState p_state, PGMatrix p_gMat, int k, PtabooList p_tabooList, TabooExpire now, PbestAddRemoveChoice p_best, int addTenure, int removeTenure)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="remove_8h.html#ad27a8e350ea08a7910d5c5f97d363402">makeRemoveMove</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>p_graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>p_state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>p_gMat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a>&#160;</td>
          <td class="paramname"><em>p_tabooList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>now</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="los_8h.html#a845149128ecdc5563a7a798c5781dc0c">PbestAddRemoveChoice</a>&#160;</td>
          <td class="paramname"><em>p_best</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>addTenure</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>removeTenure</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Mossa finale e confermata. Non ha precondizioni non banali perchè viene effettuata quando si è già certi che sia feasible </p>

</div>
</div>
<a class="anchor" id="a431fd96e7748f85c98f7171e338d1f72"></a><!-- doxytag: member="remove.h::solveRemoveNeighbourhood" ref="a431fd96e7748f85c98f7171e338d1f72" args="(Pgraph p_graph, PvehicleState p_state, PGMatrix p_gMat, int k, PtabooList p_tabooList, TabooExpire now, pLOSConfiguration pLOSconfig, bool notWorseningMoves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="remove_8h.html#a431fd96e7748f85c98f7171e338d1f72">solveRemoveNeighbourhood</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>p_graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>p_state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>p_gMat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a>&#160;</td>
          <td class="paramname"><em>p_tabooList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>now</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="los_8h.html#afecb04de172c596cdc7b8b7a86c687d7">pLOSConfiguration</a>&#160;</td>
          <td class="paramname"><em>pLOSconfig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>notWorseningMoves</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>computa l'intorno della soluzione tramite un intorno remove e ricava il migliore stato possibile per il veicolo.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">graph</td><td>indica il grafo su cui computare il nuovo intorno. Non inserire valore NULL </td></tr>
    <tr><td class="paramname">now</td><td>è l'iterazione STM corrente, usata per approciarsi alla taboolist. </td></tr>
    <tr><td class="paramname">vehicleState</td><td>indica lo stato di un veicolo, utilizzato come centro dell'intorno. Non inserire valore NULL. Attenzione: questo stato, a meno che la mossa fallisca (supponiamo possa fallire per mille motivi) sarà MODIFICATO. </td></tr>
    <tr><td class="paramname">k</td><td>l'identificativo del veicolo interessato al REMOVE. Richiesto nel confronto sulla matrice G. </td></tr>
    <tr><td class="paramname">tabooList</td><td>indica la tabulist che include alcuni divieti su alcuni archi. Non inserire valore NULL </td></tr>
    <tr><td class="paramname">pLOSconfig</td><td>la configurazione LOS utilizzata dalla mossa. </td></tr>
    <tr><td class="paramname">notWorseningMoves</td><td>filtra i candidati sui soli miglioranti lo stato o che lo lascino invariato (sempre solo a livello di profit), sse posto a true. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MOVE_STATUS_OK sse una mossa viene effettivamente eseguita; MOVE_STATUS_FAIL altrimenti. </dd></dl>

</div>
</div>
<a class="anchor" id="a7244ed733b7f4e46a70db5529ec3ac3e"></a><!-- doxytag: member="remove.h::updateBestRemoveChoice" ref="a7244ed733b7f4e46a70db5529ec3ac3e" args="(PbestAddRemoveChoice p_bestchoice, EdgeID e_il, EdgeID e_jl, EdgeID e_ij, Weight score)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="remove_8h.html#a7244ed733b7f4e46a70db5529ec3ac3e">updateBestRemoveChoice</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="los_8h.html#a845149128ecdc5563a7a798c5781dc0c">PbestAddRemoveChoice</a>&#160;</td>
          <td class="paramname"><em>p_bestchoice</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structEdgeID.html">EdgeID</a>&#160;</td>
          <td class="paramname"><em>e_il</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structEdgeID.html">EdgeID</a>&#160;</td>
          <td class="paramname"><em>e_jl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structEdgeID.html">EdgeID</a>&#160;</td>
          <td class="paramname"><em>e_ij</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="graph_8h.html#ad8909b856fa70c7731c787994276fb03">Weight</a>&#160;</td>
          <td class="paramname"><em>score</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Snellimento del codice. aggiorna una scelta migliore, BestChoice} </p>

</div>
</div>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="remove_8h.html">remove.h</a>      </li>

    <li class="footer">Generated on Wed Sep 4 2013 06:38:57 for UCARPP by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
